package com.lv.dhart.utils;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

import java.lang.reflect.Type;
import java.util.List;
 
public class GsonUtils {
 
    private static final Gson gson = new Gson();
 
    /**
     * 将Java对象转换为JSON字符串
     */
    public static <T> String toJson(T object) {
        return gson.toJson(object);
    }
 
    /**
     * 将JSON字符串转换为Java对象
     */
    public static <T> T fromJson(String json, Class<T> clazz) {
        return gson.fromJson(json, clazz);
    }
 
    /**
     * 将JSON字符串转换为Java List集合
     */
    public static <T> List<T> fromJsonToList(String json, Class<T> clazz) {
        return gson.fromJson(json, new TypeToken<List<T>>(){}.getType());
    }
    public static <T> List<T> fromJsonToList(String json, Type type) {
        return gson.fromJson(json, new TypeToken<List<T>>(){}.getType());
    }
 
}